home *** CD-ROM | disk | FTP | other *** search
- The following program documents a bug in Turbo Pascal's treatment of
- variables declared within a record. See notes below.
-
- This is in Turbo 2.0, I have not checked 3.0.
-
-
-
-
-
- PROGRAM BUG;
-
- CONST
- MIN = 1;
-
- VAR
- PLAYER : RECORD
- NAME : STRING [10]; (* PLAYER'S NAME *)
- MIN : INTEGER; (* MINUTES PLAYED *)
- END; (* PLAYERRECORD *)
-
- BEGIN (* PROGRAM BUG *)
-
- PLAYER.NAME := 'JEFF COLE ';
- PLAYER.MIN := 5;
- WITH PLAYER DO
- WRITELN (NAME, MIN);
-
- END. (* PROGRAM BUG *)
-
- { THERE SEEMS TO BE A PROBLEM IN TURBO WITH VARIABLES DECLARED IN RECORDS.
- THE ABOVE PROGRAM SHOULD PRINT " JEFF COLE 5 ", BUT USES THE GLOBAL CONST
- MIN AND PRINTS " JEFF COLE 1 ". ALSO, IF YOU CHANGE WRITELN (NAME, MIN);
- TO : BEGIN (* WITH *)
- WRITE (NAME);
- WRITELN (MIN);
- END; (* WITH *)
- (WHICH SHOULD DO THE SAME THING), IT PRINTS " JEFF COLE 5 ". BY MAKING
- ANOTHER CHANGE TO : BEGIN (* WITH *)
- WRITE (CON, NAME);
- WRITELN (CON, MIN);
- END; (* WITH *)
- YOU WILL GET " JEFF COLE 1 ". I HAVE ALERTED BORLAND ABOUT THIS PROBLEM.
-
- JEFF COLE
- ANOKA - RAMSEY COMMUNITY COLLEGE
- 612-427-2600 }
- FF COLE 1 ". I HAVE A